import router from "../router";

// router.beforeEach((to, from, next) => {
//     nprogress.start()
//     let token = storage.get('qf-token')
//     // to目标路由对线
//     // from原路由对线
//     // next是个函数，调用之后，可以理解为放行
//     // console.log(to);
//     if (token) {
//         // 要判断是否有用户菜单
//         if (!store.state.permission.userMenu.length) {
//             // 发起请求，获取权限菜单
//             store.dispatch('permission/FETCH_MENU_LIST')
//                 .then(() => {
//                     //这里要注意, next里面要传参数即要进入的页面的路由信息，因为next传参数后，当前要进入的路由会被废止，转而进入参数对应的路由，虽然是同一个路由，这么做主要是为了确保addRoutes生效了,并且不产生历史记录
//                     next({path:to.path,replace:true,query:to.query})
//                 })
//         } else {
//             next()
//         }

//     } else {
//         // 没有token
//         // 1、访问的是登入页
//         if (to.path === '/login') {
//             next()
//         } else {
//             // 2、访问的不是登入页，强行调回登入页   
//             next({ path: "/login" })
//         }
//     }
// })

//全局前置钩子
router.beforeEach((to,from,next)=>{
    NProgress.start() //进度条开启
    NProgress.configure({showSpinner: false}); //关闭进度条圆环
    let token = storage.get('qf-token');
    //to 目标路由对象
    //from 源路由对象
    //next是个函数,调用之后,可以理解为放行
    
    if(!token){
         //没有token
        //1.访问登录页面
        if(to.path==='/login'){
           next()
        }else{
               //2.访问的不是登入页,强行调回登入页
            next({path:"/login"})
        }   
    }else{
        next()
    }

})
export default router